1./*1.直接字面量创建数组 
// var arr = [10,'hello',true,null,undefined,{name:'张三'}];
// console.log(arr,'数组');
// 2.通过索引/下标访问数组元素 从0开始  arr[index] arr.length数组长度 也就是数组元素个数 
// console.log(arr[3]);

/**
 * 数组api 
 * 1.pop方法 从数组末尾删除一个数组元素 
 * 2.push方法 从数组末尾增加数组元素 
 * 3.shift  从数组头部开始删除一个数组元素
 * 4.unshift 从数组头部开始添加数组元素 
 * 5.splice 从数组任意位置删除或者增加数组元素  
 *      参数：index howmany(值是0表示添加 只是n表示删除几项) 增加数组元素 
 * 6.reverse 反转数组元素 
 */
// arr.pop();
// arr.push('hello js');
// arr.shift();
// arr.unshift(100,200,300);
// arr.splice(2,0,false,100);//表示从索引为2的位置增加数组元素 增加是false和100
// arr.splice(4,1);//表示从索引为4的位置删除1项数组元素 

// arr.reverse();//反转数组元素 
// console.log(arr);

// 循环遍历数组元素
// for(let i=0;i<arr.length;i++){
//     console.log(i,arr[i])
// }
// for(let index in arr){
//     console.log(index,arr[index])
// }

/**
 * 迭代方法：
 *  1.forEach for循环的升级版 循环遍历数组元素 
 *  2.filter 过滤符合条件的数组元素 
 *  3.map方法 映射 对每一个数组元素映射
 */

// var arr = [10, 'hello', true, null, undefined, { name: '张三' }];
// var res = arr.map(function(item,index,arr){
//     return Number(item)
// })
// console.log(res); 
// NaN Not a Number 不是一个数

// arr.forEach(function(item,index,arr){
//     // item 表示数组每一项 index 表示每一项对应的索引 arr表示数组本身 
//     item = item + 1;
//     console.log(item,index,arr);
// });
// var res = arr.filter(function (item, index, arr) {
//     // 要获取函数返回值 函数内部需要使用return返回 
//     // console.log(typeof item)
//     return typeof item == 'number'
// });
// console.log(res);



// 2.使用构造函数创建数组 
// var arr = new Array(10,20,30,40,50);
// var arr = new Array(10);//单独放number会被认为是数组长度 
// console.log(arr);